// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) // 使用当前云环境

// 获取数据库的引用
const db = cloud.database();

// 云函数入口函数
exports.main = async (event, context) => {
  const wxContext = cloud.getWXContext()
  // 从 event 中获取用户注册的相关信息
  const { username, password, nickname, sex } = event;
  // 判断是否填写
  if (!username || !password) {
    return {
      message: "用户名或密码未填写",
      status: 400
    }
  }
  
  // 是否注册
  if (username == "test") {
    return {
      message: "用户已存在",
      status: 401
    }
  }

  // 插入注册用户信息
  const user = db.collection('users');
  try {
    const res = await user.add({
      data: {
        username,
        password,
        nickname,
        sex
      }
    });
    console.log('插入成功', res);
  } catch (error) {
    console.log("插入数据失败:", error)
  }

  
  return {
    status: 200,
    message: "注册成功",
    user: {
      username,
      nickname,
      sex,
    },
    event,
    openid: wxContext.OPENID,
    appid: wxContext.APPID,
    unionid: wxContext.UNIONID,
  }
}